package exercises.leetcode;

import exercises.newcoder.util.TreeNode;

/**
 * <a href="https://leetcode-cn.com/problems/path-sum/">
 * 112. 路径总和</a>
 *
 * <p><span color="#87CEEB">描述:</span>
 * 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ，判断该树中是否存在 根节点到叶子节点 的路径，这条路径上所有节点值相加等于目标和 targetSum 。
 * <p>
 * 叶子节点 是指没有子节点的节点。
 *
 * @author or2
 * @date 2021年10月08日 时间: 17:57
 */
public class No112 {
    public boolean hasPathSum(TreeNode root, int targetSum) {
        if (root==null)
            return false;

        if (root.left==null&&root.right==null)
            return targetSum == 0;

        return hasPathSum(root.left, targetSum - root.val) || hasPathSum(root.right, targetSum - root.val);
    }
}
